package cn.wolfcode.crm.mapper;

import cn.wolfcode.crm.domain.PaymentBill;
import cn.wolfcode.crm.query.QueryObject;

import java.util.List;

public interface PaymentBillMapper {

    int deleteByPrimaryKey(Long id);
    /**
     * @Description: 删除当前缴费单据
     * @Param: [id] 根据id删除当前缴费明细
     * @return: int 返回受到影响的行数
     */

    int insert(PaymentBill record);
    /**
     * @Description: 保存当前缴费单据
     * @Param: [record] 需要保存的单据明细
     * @return: int 返回受到影响的行数
     */

    PaymentBill selectByPrimaryKey(Long id);
    /**
     * @Description: 查询当前缴费单据
     * @Param: [id] 根据id查询当前单据明细
     * @return: cn.wolfcode.crm.domain.PaymentBill
     */

    List<PaymentBill> selectAll();
    /**
     * @Description: 查询所有的单据明细
     * @Param: []
     * @return: java.util.List<cn.wolfcode.crm.domain.PaymentBill>
     */

    int updateByPrimaryKey(PaymentBill record);
    /**
     * @Description: 更新当前缴费单据明细
     * @Param: [record] 需要更新的单据明细
     * @return: int 返回受到影响的行数
     */

    List<PaymentBill> queryForList(QueryObject qo);
    /**
     * @Description: 查询当前页面中的所有的数据
     * @Param: [qo] 传入查询参数
     * @return: java.util.List<cn.wolfcode.crm.domain.PaymentBill>
     */

    int queryForCount(QueryObject qo);
    /**
     * @Description: 查询当前单据的总条数
     * @Param: [qo] 传入查询参数
     * @return: int 返回总条数
     */

    void changeState(PaymentBill paymentBill);
    /**
     * @Description: 改变缴费单据的状态为已缴费
     * @Param: [paymentBill] 传入需要改变的缴费单据对象
     * @return: void
     */

}